package com.sumainfor.pc.gmio.dao.tenant;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update;

import java.util.List;
import java.util.Map;

/**
 * 功能描述:
 * 账单
 * @Auther: zhlu
 * @Date: 2019/3/24 11:13
 * @Description:
 */
@Mapper
public interface BillMapper {

    /**
     * 功能描述: 
     * 根据合同编号获取当前租客首月房租账单
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/24 11:14
     */
    Map<String,Object> getFirsMonRent(Map<String,Object>params);

    List<Map<String,Object>> getGuDingWEG(Map<String,Object> params);


    /**
     * 功能描述: 
     * 根据账单编号获取其他账单资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/24 11:16
     */
    List<Map<String,Object>>getOtherBillsList(Map<String,Object>params);

    
    /**
     * 功能描述: 
     * 根据账单编号获取微信订单未支付资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/24 12:22
     */
    Map<String,Object>getPayWechat(Map<String,Object>params);
    
    /**
     * 功能描述: 
     * 保存订单未支付信息
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/24 12:19
     */
    Integer AddPayWechat(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据账单编号获取账单资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/27 11:30
     */
    Map<String,Object>getKeyBillMap(Map<String,Object>params);

    /**
     * 功能描述: 
     * 修改账单资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/27 11:53
     */
    Integer UpdateBill(Map<String,Object>params);

    /**
     * 功能描述: 
     * 支付完成保存支付信息
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/27 12:08
     */
    Integer AddBillPay(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据当前账单编号和合同编号获取当前账单的其他首月账单
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/28 19:28
     */
    Map<String,Object>getBillPayMonRentOther(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据合同编号获取当前合同下的首月房租账单和水电账单
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/29 10:01
     */
    List<Map<String,Object>>getBillMonRentList(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据业主合同编号查询业主全部账单总数
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/1 9:48
     */
    Integer getOwnerBillAllCount(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据业主手机号获取业主合同，然后获取业主账单资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/1 14:05
     */
    List<Map<String,Object>>getOwnerBillList(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据业主手机号获取业主合同，然后获取业主账单资料总数
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/1 14:09
     */
    Integer getOwnerBillListCount(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据租客编号和出租类型获取租客所有账单总数
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/4 21:08
     */
    List<Map<String,Object>>getBillAllList(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据租客编号和出租类型获取租客所有账单总数
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/4 21:08
     */
    Integer getBillAllListCount(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据账单编号和租客编号获取账单详情
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/6 15:33
     */
    Map<String,Object>getBillAllBiIdMap(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据合同编号获取账单
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/15 11:42
     */
    Map<String,Object>getBillFeeMapFile(Map<String,Object>params);

    /**
     * 功能描述: 
     * 支付宝水电燃支付，审核之后重新支付
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/15 21:47
     */
    Integer UpdateBillPay(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据账单编号获取账单基本资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/28 11:09
     */
    Map<String,Object>getTrenantBill(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据账单资料来源编号获取水费抄表记录
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/28 11:26
     */
    Map<String,Object>getTrenantBillWater(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据账单资料来源编号获取电费抄表记录
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/28 14:01
     */
    Map<String,Object>getTrenantBillEle(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据账单资料来源编号获取燃气抄表记录
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/28 14:03
     */
    Map<String,Object>getTrenantBillGas(Map<String,Object>params);

    /**
     * 功能描述: 
     * 根据维修编号获取账单资料
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/5/10 14:38
     */
    Map<String,Object>getRepairBillMap(Map<String,Object>params);

    /**
     * 根据房源编号查询房源收入
     **/
    List<Map<String, Object>> getInByHouId(Map<String, Object> params);

    /**
     * 根据订单号查询关联的账单编号
     * @param params
     * @return
     */
    List<Map<String,Object>> getBillPay(Map<String,Object> params);


    Integer getBillPays(Map<String,Object> params);
    Integer geiTenBill(Map<String,Object> params);

    /**
     * 修改信息表
     * @param params
     * @return
     */
    Integer UpdateWechat(Map<String,Object> params);
}
